/*
 * @(#)MtmWfStepNotificationTarget.java
 *
 * Copyright (c) 2003 DCIVision Ltd
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of DCIVision
 * Ltd ("Confidential Information").  You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the license
 * agreement you entered into with DCIVision Ltd.
 */
package com.dcivision.workflow.bean;

import com.dcivision.framework.bean.AbstractBaseObject;

/**
 * MtmWfStepNotificationTarget.java
 * 
 * This class is the serializable bean reflecting business logic uses.
 * It represents a notification target (recipient), which can be an user, a group,
 * a role, or other special step owner types.
 * 
 * @author Dick Xie
 * @company DCIVision Limited
 * @creation date 06/12/2004
 * @version  $Revision: 1.3 $
 * @see MtmWfStepNotificationRule
 * @see MtmWorkflowProgressNotifyRule
 */
public class MtmWfStepNotificationTarget extends AbstractBaseObject {
  
  public static final String REVISION = "$Revision: 1.3 $";
  static final long serialVersionUID = -3836262991016896981L;
  private Integer notifyRuleID = null;
  private String targetType = null;
  private Integer targetID = null;
  
  /** Notification target type workflow submitter */
  public static final String TARGET_TYPE_SUBMITTER = "S";
  
  /** Notification target type action taker of previous step */
  public static final String TARGET_TYPE_ACTION_TAKER = "A";
  
  /** Notification target type owner of previous step */
  public static final String TARGET_TYPE_OWNER = "O";
  public MtmWfStepNotificationTarget() {
    super();
  }
  /**
   * @return Returns the notifyRuleID.
   */
  public Integer getNotifyRuleID() { 
    return(this.notifyRuleID);
  }
  /**
   * @param notifyRuleID The notifyRuleID to set.
   */
  public void setNotifyRuleID(Integer notifyRuleID) { 
    this.notifyRuleID = notifyRuleID;
  }
  /**
   * @return Returns the targetType.
   * @see com.dcivision.alert.bean.UpdateAlert#USER_RECIPIENT
   * @see com.dcivision.alert.bean.UpdateAlert#GROUP_RECIPIENT
   * @see com.dcivision.alert.bean.UpdateAlert#ROLE_RECIPIENT
   * @see #TARGET_TYPE_SUBMITTER
   * @see #TARGET_TYPE_ACTION_TAKER
   * @see #TARGET_TYPE_OWNER
   */
  public String getTargetType() { 
    return(this.targetType);
  }
  /**
   * @param targetType The targetType to set.
   * @see com.dcivision.alert.bean.UpdateAlert#USER_RECIPIENT
   * @see com.dcivision.alert.bean.UpdateAlert#GROUP_RECIPIENT
   * @see com.dcivision.alert.bean.UpdateAlert#ROLE_RECIPIENT
   * @see #TARGET_TYPE_SUBMITTER
   * @see #TARGET_TYPE_ACTION_TAKER
   * @see #TARGET_TYPE_OWNER
   */
  public void setTargetType(String targetType) { 
    this.targetType = targetType;
  }
  /**
   * Gets the corresponding ID of the targetType.
   * <pre>
   * User - User ID
   * Group - Group ID
   * Role - Role ID
   * Submitter - Null
   * Action Taker - Workflow Step ID
   * Owner - Workflow Step ID
   * </pre>
   * @return Returns the targetID.
   */
  public Integer getTargetID() { 
    return(this.targetID);
  }
  /**
   * Sets the corresponding ID of the targetType
   * @param targetID The targetID to set.
   * <pre>
   * User - User ID
   * Group - Group ID
   * Role - Role ID
   * Submitter - Null
   * Action Taker - Workflow Step ID
   * Owner - Workflow Step ID
   * </pre>
   */
  public void setTargetID(Integer targetID) { 
    this.targetID = targetID;
  }
}
